#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>

#define FOR(i,a,n) for(int i=a,_n(n);i<_n;++i)
#define REP(i,n) FOR(i,0,n)

const int INF = 1<<29;
typedef long long lld;
typedef std::pair<int,int> pii;

using namespace std;

struct Num
{
    double val;
    int zero;
    Num(double a = 0,int z = 0)
    {
        while(a>=10) a/=10,z++;
        val = a;
        zero = z;
    }
    void Multiple(double va,int ze)
    {
        va *=val;
        if(va>=10) va/=10,ze++;
        val = va;
        zero+=ze;
    }
    void Print()
    {
        printf("%.3fE%d\n",val,zero);
    }
};

int main()
{
    int n;
    //puts("!!");
    vector<int> v;
    while(cin>>n)
    {
        v.push_back(n);
    }
    sort(v.begin(),v.end());
    Num f = Num(1);
    int pos = 0;
    int ze = 0;
    int ten = 1;
    FOR(i,3,v.back()+1)
    {
        double t = 2*i-5;
        if((2*i-5)/ten>=10) ten*=10,ze++;
        f.Multiple(t/ten,ze);
        if(i==v[pos])
        {
            f.Print();
            pos++;
        }
    }
    return 0;
}

